package com.itheima.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
//一个订单的全部信息,包括物流发票,支付方式等等,整合大表
public class OmsOrder implements Serializable {
    private Long id;//
    private Long memberId;//谁购买的?用户id
    private Long couponId;//优惠券id
    private String orderSn;//订单编号
    private LocalDateTime createTime;//提交时间
    private String memberUsername;//用户帐号
    private BigDecimal totalAmount;//订单总金额
    private BigDecimal integrationAmount;//积分抵扣金额
    private BigDecimal payAmount;//应付金额（实际支付金额）
    private BigDecimal freightAmount;//运费金额
    private BigDecimal promotionAmount;//促销优化金额（促销价、满减、阶梯价）
    private BigDecimal couponAmount;//优惠券抵扣金额
    private BigDecimal discountAmount;//管理员后台调整订单使用的折扣金额
    private Integer payType;//支付方式：0->未支付；1->支付宝；2->微信
    private Integer sourceType;//订单来源：0->PC订单；1->app订单
    private Integer status;//订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单
    private Integer orderType;//订单类型：0->正常订单；1->秒杀订单
    private String deliveryCompany;//物流公司(配送方式)
    private String deliverySn;//物流单号
    private Integer autoConfirmDay;//自动确认时间（天）
    private Integer integration;//可以获得的积分
    private Integer growth;//可以活动的成长值
    private String promotionInfo;//活动信息
    private Integer billType;//发票类型：0->不开发票；1->电子发票；2->纸质发票
    private String billHeader;//发票抬头
    private String billContent;//发票内容
    private String billReceiver_phone;//收票人电话
    private String billReceiver_email;//收票人邮箱
    private String receiverName;//收货人姓名
    private String receiverPhone;//收货人电话
    private String receiverPostCode;//收货人邮编
    private String receiverProvince;//省份/直辖市
    private String receiverCity;//城市
    private String receiverRegion;//区
    private String receiverDetailAddress;//详细地址
    private String note;//订单备注
    private Integer confirmStatus;//确认收货状态：0->未确认；1->已确认
    private Integer deleteStatus;//删除状态：0->未删除；1->已删除
    private Integer useIntegration;//下单时使用的积分
    private LocalDateTime paymentTime;//支付时间
    private LocalDateTime deliveryTime;//发货时间
    private LocalDateTime receiveTime;//确认收货时间
    private LocalDateTime commentTime;//评价时间
    private LocalDateTime modifyTime;//修改时间


}
